package com.rc.evcharger.common.base;

import io.netty.util.Timeout;
import io.netty.util.TimerTask;

import java.util.concurrent.TimeUnit;

/**
 * 定时任务基类
 */
public interface BaseTask extends TimerTask {
    static Integer MINUTE = 2;
    static Integer SECONDS = 90;

    /**
     * 执行定时任务
     *
     * @param timeout
     * @throws Exception
     */
    void runTask(Timeout timeout) throws Exception;

    /**
     * 添加定时器任务
     *
     * @param rtua
     * @param gunNum
     * @param time
     * @param tu
     */
    void addTask(String rtua, String gunNum, Integer time, TimeUnit tu);

    /**
     * @param rtua
     * @param gunNum
     * @param time
     * @param tu
     */
    void addTask(String rtua, String gunNum, String orderNum, Integer time, TimeUnit tu);

    /**
     * 移除定时任务
     *
     * @param key
     */
    void removeTask(String key);

    /**
     * 移除定时任务
     *
     * @param key
     */
    void removeTask(String... key);
}
